Red-eye is a problem commonly encountered in photography when light, typically from the camera's flash, reflects off the retinas at the back of a subject's eyes and causes the pupils of the eyes of the people or animal in the image to appear an unnatural color, such as bright red. The retina contains many microscopic blood vessels between the light-sensing neurons and the center of the eye, so that the reflected light from the flash is colored by the blood in the vessels.
Red-eye has been a problem for many years, and although a variety of solutions have been proposed to cure the problem, these solutions tend to be costly, cumbersome, inefficient, and/or ineffective. One such solution is a pre-flash—firing the flash at a lower light level in advance of the normal flash illumination, thereby causing the subject's pupils to contract in time to make the subsequent flash illuminate a face with smaller pupils. These pre-flash solutions, however, are not always effective, and cause a delay (while the pre-flash is operating) before the picture is actually taken during which time the subject may move.
Attempts have also been made to cure the red-eye problem after-the-fact by processing the image to remove the red from the eyes. Computer software packages are available that allow for the removal of red-eye, such as by changing the color of the red portion of the eye. Some systems require manual selection, by the user, of the pixels within the image that are part of the red eyes prior to removing the red-eye. These systems may be rather user un-friendly due to the steps the user must follow to identify exactly which pixels are part of the red eyes.
Systems have attempted to automatically detect where the red-eye portions of an image are (as opposed to other non-eye portions of the image that are red). Such systems typically start by using face detection techniques to determine where one or more faces are in the image and where the eyes are within those faces. Once these faces (and eyes within them) are detected, the systems try to determine whether the eyes are red eyes. These systems, however, can have poor performance under many circumstances (e.g., when a face is partially obscured, such as by heavy shadows or heavy beards, when the face has an unusual expression or is distorted, etc.).
Other systems begin the detection process with eye detection. Once the eyes are detected, the system confirms whether the detected eyes are actually eyes by searching for a face around the detected eyes. However, these systems are time intensive and inefficient by requiring a significant amount of processing time and power. For commercially produced photos being produced on demand for consumers in a retail environment, these strategies may be too slow. Furthermore, prior solutions may be problematic with regard to correction of the identified red eyes.